Many modern computing applications require the storage, rendition, acquisition and/or transmission of data representing two colour (often referred to as bi-level) images.
For example, many electronic devices having some computing capability now display relatively simple, often black and white images, while a more complex, graphically richer operating system is being loaded. Similarly, such devices often present simple configuration screens and images to allow the change of system settings, and the upgrading of firmware. Example devices include DVD players, computers, computer video cards, video games and the like.
Similarly, wireless handheld scanners, wireless fax machines, and other devices acquire and transmit black and white images using radio frequencies or other transport media.
Whether such images are stored or transmitted, it is desirable to reduce the amount data used to represent the images. This reduces storage requirement and bandwidth requirements for the image.
Compression techniques suitable for the compression of such images are known. For example, a compression technique known as “Pack-bits” uses run length encoding to run length encode a bit sequence of 0s and 1s. CCITT Group 3 and 4 facsimile transmission compression rely on various encoding schemes to represent facsimile images.
Other known compression techniques suited for bi-level images include JBIG.
Although these known techniques are effective, they typically rely on compression techniques that are computationally quite complex. Moreover, they often fail to achieve high compression ratios for many simpler images.
Accordingly, there is a need for a relatively simple compression technique, suitable for compressing binary images.